package cn.project.domain.strategy.service.armory.algorithm;

import cn.project.domain.strategy.repository.IStrategyRepository;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.annotation.Resource;
import java.security.SecureRandom;

/**
 * @author xu
 * @description 抽奖算法抽象类
 * @date 2025/8/12
 */

public abstract class AbstractAlgorithm implements IAlgorithm {
    @Resource
    protected IStrategyRepository strategyRepository;

    protected final SecureRandom secureRandom = new SecureRandom();
    @Getter
    @AllArgsConstructor
    @NoArgsConstructor
    public enum Algorithm {
        O1("o1Algorithm"), OLogN("oLogNAlgorithm");

        private String key;
    }
}
